package net.TCPOneWayChat;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;

public class OneWayChatClient {

    public static void main(String[] args) throws IOException {

        //创建一个客户端的个体
        //如果没有连接到这个ip地址下的这个端口，会报 java.net.ConnectException: Connection refused: connect错误
        //TODO 此处可以使用递归的方式处理，如果没有连接上可以继续尝试连接
        Socket clientSocket = new Socket("localhost", 9999);
        //如果不报错继续执行到此步骤，表示连接成功
        System.out.println("此客户端与服务端连接成功");

        //创建客户端到服务端的输出流，为了方便使用的打印字符流
        PrintWriter toServerPrintWriter = new PrintWriter(clientSocket.getOutputStream());


        Scanner scanner = new Scanner(System.in);
        while(true){
            System.out.println("我想对服务端说：");
            //从控制台获取写到服务端的内容
            String message = scanner.nextLine();
            //以输出流的形式把内容写出
            toServerPrintWriter.println(message);
            //写一行，刷写一次，否则内容写不出去
            toServerPrintWriter.flush();

            if(message.equals("拜拜")){
                break;
            }
        }

        //释放流和socket的资源
        toServerPrintWriter.close();
        clientSocket.close();

        System.out.println("与服务端断开连接");
    }
}
